package cn.donting.jme.utile;

import cn.hutool.core.io.FileUtil;

import java.io.File;
import java.util.Arrays;

/**
 * 文件工具
 */
public class JFileUtil {
    /**
     * 对 files 排序，文件夹优先
     * @param files
     */
    public static void sort(File[] files){
      Arrays.sort(files,(o1, o2) -> {
            if (o1.isFile() && o2.isFile()) {
                return o1.getName().compareTo(o2.getName());
            }
            if (o1.isDirectory() && o2.isDirectory()) {
                return o1.getName().compareTo(o2.getName());
            }
            if(o1.isFile()){
                return 1;
            }
            if(o2.isFile()){
                return -1;
            }
            return 0;
        });
    }

    public static File getNewFile(File dir,String name){
        File newFile = new File(dir, name);
        String extName = FileUtil.extName(newFile);
        String mainName = FileUtil.mainName(newFile);
        int i=0;
        while (newFile.exists()) {
            i++;
            newFile = new File(dir, mainName+"("+i+")."+extName);
        }
        return newFile;
    }
}
